1. Field of the Invention
The present invention generally relates to an equalization technique in communication systems and more particularly to adaptive equalization in wireless data communication systems.
2. Description of Related Art
In relatively noise-free data communication systems, when data is transmitted over a communication channel by means of a linear modulation scheme, for example by using Quadrature Phase Shift Keying (xe2x80x9cQPSKxe2x80x9d), the number of detectable levels that the channel can support is essentially limited by Inter Symbol Interference (xe2x80x9cISIxe2x80x9d). ISI arises because of the xe2x80x9cspreadingxe2x80x9d of a transmitted symbol pulse due to the dispersive nature of the channel, which results in an overlap of adjacent symbol pulses. Stated differently, ISI occurs when a portion of a signal representative of one bit of information interferes with a different portion of the signal representative of a different bit of information.
The adverse effects of ISI are more pronounced where the signal to noise ratio is high and the channel is relatively noise-free. In such channels, which are typically present in data (as opposed to voice) communications, the presence of ISI greatly degrades performance of the communications system.
A common cause of ISI is the xe2x80x9cmultipathxe2x80x9d phenomenon. Simply stated, multipath refers to interference caused by the reception of the same signal over multiple paths. Depending on the speed of a mobile wireless unit (also called the xe2x80x9csubscriber unitxe2x80x9d), condition of the surrounding environment such as existence of buildings or mountains, and the transmission bandwidth, the transmitted symbol pulses may arrive at the receiver at different times. As such, components of neighboring symbol pulses may interfere constructively or destructively.
However, even in the absence of xe2x80x9cmultipath,xe2x80x9d some ISI may still be generated due to the imperfections in the transmit and receive filters employed in the communications system. For example, frequency dependent attenuations in the physical devices comprising the transmit and receive filters can be a source of
It is generally known that equalization can be used to minimize the effects of ISI. Equalization involves altering a signal so that it may be more easily recognized at the receiver. A signal may be altered at the transmitter so that the influence of the channel on the signal will yield a signal capable of being properly recognized at the receiver. However, transmitter-based equalization is difficult since the transmitter must have a priori knowledge of the characteristics of the channel and any changes that may occur to the characteristics of the channel over time.
Equalization may also be performed at the receiver. Receiver-based equalization can use properties of the received signal to adjust equalization parameters. In wireless communications, since the mobile channel is random and time varying, equalizers must track the time varying characteristics of the mobile channel, and are thus called adaptive equalizers. Adaptive equalization attempts to apply a correct amount of equalization to the channel. In adaptive equalization, the equalizer coefficients are initially, or periodically, adjusted to xe2x80x9cadaptxe2x80x9d to the varying channel conditions. The general operating modes of an adaptive equalizer are the training and tracking modes. In the training mode, a known pilot symbol sequence is sent by the transmitter so that the receiver""s adaptive equalizer may average its coefficients to proper initial values. The training sequence, i.e. the pilot symbol sequence, is typically a fixed, prescribed bit pattern.
Immediately following the training sequence, the modulated and spread message data are sent, and the adaptive equalizer at the receiver uses a prescribed algorithm, such as xe2x80x9cleast mean squarexe2x80x9d (LMS) or xe2x80x9crecursive least squaresxe2x80x9d (RLS), to estimate the adaptive equalizer coefficients in order to compensate for the ISI caused by the transmit filter, the communication channel, and the receive filter.
Each data frame sent from the transmitter contains an initial pilot sequence as well as a subsequent user message data sequence. As an example, the initial pilot sequence may take up approximately 5% of the entire data frame. However, the characteristics of the transmit filter, the communication channel, and the receive filter may change during each data frame, and also from frame to frame. Thus, the initial pilot sequence in each frame of data is used for achieving an initial setting of the equalizer coefficients. Moreover, after the initial setting of the equalizer coefficients, during each frame when user message data are received, the equalizer coefficients are adapted by utilizing a prescribed algorithm.
The initial pilot (or training) sequence in each frame is designed to permit the adaptive equalizer at the receiver to acquire the proper coefficients so that when the training sequence is finished, the filter coefficients are near optimal values for reception of user message data during the remainder of the frame. As user message data are received, the adaptive algorithm of the equalizer tracks the changing characteristics of the transmit filter, the communication channel, and the receive filter. As a consequence, the adaptive equalizer is continually changing its filter characteristics over time.
A common type of adaptive equalizer is a linear adaptive equalizer. There are two general types of linear adaptive equalizers, the xe2x80x9ctransversalxe2x80x9d type and the xe2x80x9clatticexe2x80x9d type. FIG. 1 illustrates a transversal linear adaptive equalizer 100. The transversal linear adaptive equalizer 100 in FIG. 1 is a type of finite-duration impulse response filter (xe2x80x9cFIRxe2x80x9d) which is well known in the art. Referring to FIG. 1, an output of receive FIR filter 102 provides input to equalizer 100 which is marked as x(n) in FIG. 1. The output of receive FIR filter 102 is coupled to unit delay element zxe2x88x921 106 and also to multiplier 104 which has a tap weight w0(n). The output of unit delay element zxe2x88x921 106 is marked as x(nxe2x88x921) and is coupled to unit delay element zxe2x88x921 112 and to multiplier 108 which has a tap weight w1(n). The output of unit delay element zxe2x88x921 112 is marked as x(nxe2x88x922) and is coupled to a subsequent unit delay element not shown in FIG. 1 and to multiplier 114 which has a tap weight w2(n). Unit delay element zxe2x88x921 122 and multiplier 118 having a tap weight of wmxe2x88x922(n) receive their respective inputs, marked as x(nxe2x88x92m+2), from a previous unit delay element not shown in FIG. 1. The output of unit delay element zxe2x88x921 122 is marked as x(nxe2x88x92m+1) and is coupled to multiplier 124 which has a tap weight wmxe2x88x921(n).
Respective outputs of multipliers 104, 108, 114, 118, and 124 are added by adders 110, 116, 120, and 126 to result in a final output xc3xa2(n) of equalizer 100. Equalizer output xc3xa2(n) is fed to slicer 128 which results in a slicer output xc3xa3(n). Equalizer 100 output xc3xa3(n) is subtracted from slicer 128 output xc3xa3(n) by adder 130. The result of the subtraction operation is e(n) which is the output of adder 130.
By way of overview, during operation of equalizer 100 an adaptive algorithm is utilized to adapt the equalizer coefficients which are represented by tap weights w0(n), w1(n) to wmxe2x88x921(n) in FIG. 1. The equalizer coefficients are adjusted either on a sample by sample basis (i.e. whenever n is incremented by 1) or on a block by block basis (i.e. whenever a specified number of samples have been clocked into the equalizer). The adaptive algorithm used to adapt tap weights w0(n), w1(n) to wmxe2x88x921(n) is controlled by the error signal e(n). During the tracking mode of the adaptive equalizer operation, the error signal e(n) is obtained by comparing the output xc3xa2(n) of equalizer 100 with the output xc3xa3(n) of slicer 128.
Slicer 128 is an example of a xe2x80x9cdecision making devicexe2x80x9d which applies a thresholding operation in order to arrive at a xe2x80x9chard estimatexe2x80x9d of the original data transmitted from the transmitter. This hard estimate which is the desired output of equalizer 100 is compared against the actual output xc3xa2(n) of equalizer 100. The actual output xc3xa2(n) of equalizer 100 is also referred to as a xe2x80x9csoft estimatexe2x80x9d of the original data transmitted from the transmitter. Subtraction of the actual output xc3xa2(n) from the desired output xc3xa3(n) results in the error signal e(n). It is noted that during the training mode of the adaptive equalizer operation, the slicer operation is not required and the desired output xc3xa3(n) is known to the receiver and can be fed directly to adder 130 in order to arrive at error signal e(n).
The error signal e(n) is used in an adaptive algorithm to iteratively adjust the equalizer tap weights to arrive at their optimum values. An example of an adaptive algorithm is the xe2x80x9cleast mean squarexe2x80x9d (LMS) algorithm which is used to adjust the tap weights to their optimum values using the following iterative operation:
wk(n+1)=wk(n)+xcex94xk(n)e*(n)xe2x80x83xe2x80x83equation (1)
where xk(n)=x(nxe2x88x92k), k being an integer between 0 and mxe2x88x921; where where e(n)=xc3xa3(n)xe2x88x92xc3xa3(n); and             c      ^        ⁡          (      n      )        =            ∑              k        =        0                    m        -        1              ⁢          xe2x80x83        ⁢                            w          k          *                ⁡                  (          n          )                    ⁢                        x          k                ⁡                  (          n          )                    
and where xcex94 is a constant.
Thus, each present tap weight w0(n), w1(n) to wmxe2x88x921(n) is adjusted to a corresponding new tap weight w0(n+1), w1(n+1) to wmxe2x88x921(n+1) by adding the respective present tap weight to the product of the constant xcex94, the corresponding input value x0(n), x1(n) to xmxe2x88x921(n), and the present value of error signal e(n). The constant xcex94 is determined so as to control the variation between tap weights on successive iterations. The iterative process in equation (1) is repeated rapidly in a programming loop while adaptive equalizer 100 attempts to converge and minimize the error signal e(n). Upon reaching convergence, the adaptive algorithm freezes the tap weights until the error signal e(n) exceeds an acceptable level or until a new training sequence is sent from the transmitter.
However, the linear adaptive equalization scheme explained above in relation to FIG. 1 cannot be simply applied to a receiver system where xe2x80x9cWalsh coveringxe2x80x9d has been used at the transmitter. By way of background, according to current standards in spread spectrum communication systems, such as those used in CDMA (xe2x80x9cCode Division Multiple Accessxe2x80x9d), all subscriber units operating within a cell share a single xe2x80x9couterxe2x80x9d PN (xe2x80x9cPseudorandom Noisexe2x80x9d) code. In a given spread spectrum communication system using Walsh functions (also called Walsh code sequences), a pre-defined Walsh function matrix having N rows of N chips each is established in advance to define the different Walsh functions to be used to distinguish subscriber signals in the same cell. A Walsh function matrix having N rows, with each row having N chips, is also referred to as a Walsh function matrix of order N. An example of a Walsh function matrix where N is equal to 4, i.e. a Walsh function matrix of order 4, is shown below:
In the above example, there are 4 Walsh functions, each function having 4 chips. Each Walsh function is one row in the above Walsh function matrix. For example, the third row of the Walsh function matrix is the Walsh function having the sequence 1, 1, 0, 0. It is seen that each Walsh function, i.e. each row in the above matrix, has zero correlation with any other row in the matrix. Stated differently, exactly half of the chips in every Walsh function differ from those in every other Walsh function in the matrix.
In practice, Walsh functions of length 16, 64, or 128 (i.e. Walsh functions having respectively 16, 64, or 128 chips in each Walsh code sequence) are used. As an example, when a Walsh function of length 64 is used, orthogonality of 64 subscribers within a given cell is achieved.
Although the use of Walsh modulation in wireless communications is desirable, its use renders known adaptive equalization techniques inapplicable. The reason is that Walsh functions transform each data symbol (also called xe2x80x9ccode symbolxe2x80x9d in the present application) to a sequence of chips which, after typically being processed by a chip level summer and being spread by a PN code, are transmitted across a communication channel to a receiver. Thus, what is ultimately received at the receive FIR, such as receive FIR 102 in FIG. 1, is a sequence of chips as opposed to code symbols. As such, the known adaptive equalization schemes, such as that discussed in relation with FIG. 1, cannot be directly applied since, for example, the error signal e(n), must be determined by a method which takes into account the transformation of symbols into chips at the transmitter. Accordingly, there is need in the art for an adaptive equalizer which can be used when code symbols to be transmitted undergo xe2x80x9cWalsh coveringxe2x80x9d and a sequence of xe2x80x9cWalsh coveredxe2x80x9d chips, as opposed to the original code symbols, are transmitted.
The present invention is directed to a method and apparatus for adaptive linear equalization for Walsh covered modulation. The invention""s adaptive equalization scheme can advantageously be used when code symbols to be transmitted undergo Walsh covering and a sequence of Walsh covered chips, as opposed to the original code symbols, is transmitted.
In one aspect of the invention a receive filter receives signals from a communication channel. The received signals correspond to original Walsh covered chip sequences transmitted by a transmit filter through the communication channel to the receive filter. The received signals are processed by an equalizer to generate a soft estimate of chip sequences corresponding to the original Walsh covered chip sequences. An N chip Walsh decover is then utilized to generate a soft estimate of code symbols corresponding to the soft estimate of the chip sequences. A number of symbol slicers are then used in parallel to produce a hard estimate of the code symbols corresponding to the soft estimate of code symbols generated by the N chip Walsh decover.
Thereafter an N chip Walsh cover is used as part of a scheme to generate a hard estimate of chip sequences corresponding to the hard estimate of the code symbols generated by the symbol slicers. The hard estimate of the chip sequences generated with the aid of the N chip Walsh cover, and the soft estimate of the chip sequences generated by the equalizer, are used to generate a tracking mode error signal to adapt the response of the equalizer to the received signals.